why api testing is done